home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Presentations / Presentations ’96 / Sessions ’96 / UNIX to MacOS < prev   
Encoding:
Text File  |  1996-06-22  |  2.2 KB  |  87 lines  |  [TEXT/PLP3]

  1.     Porting UNIX to the MacOS 7.xx
  2.         For Applications
  3.         
  4.         Stuart Schmukler
  5.         stuarts@netcount.com
  6.         
  7.     Scope of the problem.
  8.         look a for  ‘clean’ build of the product.
  9.             Base your estimates on reality!
  10.             (The PSP method has help me.)
  11.     Which Unix??? What is UNIX???
  12.         BSD – 4.4, 4.3, FreeBSD, etc.
  13.         System V – HP-UX, etc.
  14.         Mach
  15.         AIX
  16.         Real Time – VxWorks, pSoS, Chorus, etc.
  17.         Random POSIX libraries 
  18.     What do you use from UNIX
  19.         File IO
  20.         Shared memory
  21.         Process services
  22.         Network
  23.         etc.
  24.     LIbraries
  25.         UNIX – #define SYSmdio_h “<sys/mdio.h>”
  26.         MacOS – #define SYSmdio_h “<sys:mdio.h>”
  27.     Process services
  28.         MacOS – #define fork (a) NULL
  29.         UNIX  – sizeof(pid_t)  = 4
  30.         MacOS - sizeof(pid_t) = 8
  31.     NetWork
  32.         Sockets resources:
  33.             GUSI
  34.                 includes incomplete
  35.                 Open Transport problems
  36.             WinSOCK (NetManage)
  37.             LaNWork place (BSD sockets)
  38.     GUSI
  39.         CW GUSI
  40.         sk GUSI (Thread Mgr calls)
  41.             Harvard Desiscion support group
  42.             MIT
  43.     Open Transport (XTI)
  44.         Port a test application
  45.             netperf (maintained by HP)
  46.     Threads
  47.         Thread Mgr on PCC MacOS is NOT preemptive!!
  48.         mutex
  49.         condition varaibles
  50.         PCC ports currently have to
  51.         have yields inserted.
  52.     PThreads
  53.         See the portable pthreads home page:
  54.         http://www.mit.edu/people/proven/pthreads.html
  55.             Base a port on the DayStar MThread library??
  56.             Need atomic set and get 
  57.     Unix compilers SUCK
  58.         gcc 
  59.             -- forscope: for (int i, ... ) { } if ( i )
  60.                 ARM changed 
  61.                 MetroWerks CodeWarrior 9 has an ARM flag. 
  62.         Prototypes
  63.             gcc -wextern ???
  64.     Linking 
  65.         Shared libraries
  66.             UNIX     statics are local to process
  67.             ALSM     statics are global to machine
  68.             CFM (switchable ???)
  69.         Segmentation
  70.     Memory
  71.         what to free  and when???
  72.         XWindows 
  73.         static allocation this norm.
  74.             UNIX has few partition size limits.
  75.     Email address:
  76.         stuarts@netcount.com
  77.         I’d like to open a conversation between people porting to the MacOS.
  78.         We can make this a living document.
  79.     MacOS 8 will be a new set of challanges!!
  80.     References:
  81.         Porting UNIX software, Greg Lehey, O’Reilly & Associates, Inc., 1995
  82.             ISBN 1-56592-126-7
  83.         THREADS Primer: A Guide to MuliThreaded Programming, Bil Lewis & Daniel J. Berg 
  84.             ISBN 0-13-443698-9
  85.         Advanced Topics in UNIX: Processes, Files, and Systems; Ronald J. Leach
  86.             ISBN 0-471-03663-3
  87.